package metier;

import junit.framework.TestCase;




public class ContratTest extends TestCase {

		/**
		 * Instancie un contrat.
		 * Teste les methodes getReference, getObjetContrat et getNomClient.
		 */
		public void testGet() {	
			
			
			Contrat monContrat = new Contrat(5,"contrat de reparation", "SARL truc");
			
			assertTrue(monContrat.getReference() == 5);
			assertTrue(monContrat.getObjetContrat().equals("contrat de reparation"));
			assertTrue(monContrat.getNomClient().equals("SARL truc"));
			
		}
		
		/**
		 * Instancie un contrat.
		 * Teste la methode testSetObjetContrat et remplacant l'objet du contrat.
		 */
		public void testsetObjetContrat() {
			
			Contrat monContrat = new Contrat(5,"contrat de reparation", "SARL truc");
			assertEquals(monContrat.toString(),"5 contrat de reparation SARL truc");
			assertTrue(monContrat.getObjetContrat().equals("contrat de reparation"));

			monContrat.setObjetContrat("contrat de maintenance");		
			assertTrue(monContrat.getObjetContrat().equals("contrat de maintenance"));
			assertEquals(monContrat.toString(),"5 contrat de maintenance SARL truc");	
			
		}
		
		/**
		 * Instancie un contrat.
		 * Teste la methode testSetNomClient et remplacant le nom du client.
		 */
		public void testSetNomClient() {
			
			Contrat monContrat = new Contrat(5,"contrat de reparation", "SARL truc");
			assertEquals(monContrat.toString(),"5 contrat de reparation SARL truc");
			assertTrue(monContrat.getNomClient().equals("SARL truc"));

			monContrat.setNomClient("SARL machin");		
			assertTrue(monContrat.getNomClient().equals("SARL machin"));
			assertEquals(monContrat.toString(),"5 contrat de reparation SARL machin");	
			
		}
		
		/**
		 * Instancie deux contrats.
		 * Teste la methode Equals en comparant deux resultats identiques et deux différents.
		 */
		public void testEquals() {
			Contrat monContrat1 = new Contrat(5,"contrat de reparation", "SARL truc");
			Contrat monContrat2 = new Contrat(2,"contrat de formation", "PME machin");
			assertEquals(monContrat1.equals(monContrat2),false);
			assertEquals(monContrat2.equals(monContrat1),false);
			assertEquals(monContrat1.equals(monContrat1),true);
			assertEquals(monContrat2.equals(monContrat2),true);
			
			Contrat monContrat3 = new Contrat(3,"contrat de maintenance", "Societe dup");
			Contrat monContrat4 = new Contrat(4,"contrat de formation", "SAAI");
			assertEquals(monContrat3.equals(monContrat4),false);
			assertEquals(monContrat4.equals(monContrat3),false);
			assertEquals(monContrat3.equals(monContrat3),true);
			assertEquals(monContrat4.equals(monContrat4),true);
		}
		
		/**
		 * Instancie un contrat.
		 * Teste la methode toString en comparant le résultat au résultat attendu.
		 */
		public void testToString() {
			
			Contrat monContrat = new Contrat(5,"contrat de reparation", "SARL truc");
			assertEquals(monContrat.toString(),"5 contrat de reparation SARL truc");
					
		}
		
		/**
		 * Instancie un contrat.
		 * Teste la methode toStringDescriptif en comparant le résultat au résultat attendu.
		 */
		public void testToStringDescriptif() {
			
			Contrat monContrat = new Contrat(5,"contrat de reparation", "SARL truc");
			assertEquals(monContrat.toStringDescriptif(),"reference : 5\nobjet du contrat : contrat de reparation\nnom du client : SARL truc");

		}
		
		
		
		
}
